package com.yuexiao.service;

import com.yuexiao.pojo.AddressBook;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author Administrator
* @description 针对表【address_book(地址管理)】的数据库操作Service
* @createDate 2022-08-10 14:10:57
*/
public interface AddressBookService extends IService<AddressBook> {

    /**
     * 根据用户id查询该用户的地址列表
     * @param userId Long 用户主键
     * @return List<AddressBook> 地址列表
     */
    List<AddressBook> getAddressBookByUserId(Long userId);


    /**
     * 插如新的地址
     * @param addressBook
     * @return boolean true or false
     */
    boolean insertAddressBook(AddressBook addressBook);


    /**
     * 根据地址主键更新默认状态
     * @param id Long 地址主键id
     * @return boolean true or false
     */
    boolean updateDefaultById(Long id);


    /**
     * 根据地址主键查询地址数据
     * @param id Long 地址主键id
     * @return AddressBook 地址对象
     */
    AddressBook getAddressBookById(Long id);


    /**
     * 更新地址数据
     * @param addressBook AddressBook 地址数据对象
     * @return boolean true or false
     */
    boolean updateAddressBook(AddressBook addressBook);


    /**
     * 根据主键id删除地址数据
     * @param id Long 地址主键
     * @return boolean true or false
     */
    boolean deleteByIds(Long id);


    /**
     * 根据用户id获取默认地址
     * @param uid Long 用户id
     * @return AddressBook 地址实体对象
     */
    AddressBook getDefaultAddressBookByUserId(Long uid);

}
